//package com.test.util;
//
//import org.apache.ibatis.io.Resources;
//import org.apache.ibatis.session.SqlSession;
//import org.apache.ibatis.session.SqlSessionFactory;
//import org.apache.ibatis.session.SqlSessionFactoryBuilder;
//
//import java.io.IOException;
//import java.io.InputStream;
//
///**
// * @author 徒有琴
// */
//public class MyBatisUtils {
//    private static SqlSessionFactory factory;
//    private static final ThreadLocal<SqlSession> tl = new ThreadLocal<>();
//
//    static {
//        try {
//            InputStream is = Resources.getResourceAsStream("mybatis-config.xml");
//            factory = new SqlSessionFactoryBuilder().build(is);
//        } catch (IOException e) {
//            e.printStackTrace();
//        }
//    }
//
//    public static SqlSession openSession() {
//        SqlSession session = tl.get();
//        if (session == null) {
//            session = factory.openSession();
//            tl.set(session);
//        }
//        return session;
//    }
//
//    public static void closeSession() {
//        SqlSession session = tl.get();
//        session.close();
//        tl.remove();
//    }
//
//    public static void commit() {
//        SqlSession session = openSession();
//        session.commit();
//        closeSession();
//    }
//
//    public static void rollback() {
//        SqlSession session = openSession();
//        session.rollback();
//        closeSession();
//    }
//
//    public static <T> T getMapper(Class<T> clazz) {
//        SqlSession session = openSession();
//        return session.getMapper(clazz);
//    }
//}
